Conventionally, a method of, when making an application having a GUI (Graphical User Interface) operate on an embedded device, installing a service logic for defining the behavior of the application and a GUI in the same embedded device, and making the service logic and the GUI operate in cooperation with each other has been in the mainstream. However, in an environment in which a PC (Personal Computer) plays a central role, a server client system that uses a network technology, typified by a technology for the Internet, and installs a service logic and a GUI in different nodes on a network has become the) mainstream. Concretely, there can be considered a method installing a service logic in a server device (node), installing a GUI in a client terminal (node), and implementing a cooperative operation by making the client terminal access the server device via a network, thereby constructing one application.
In recent years, the proliferation of a wireless network technology has been providing an environment in which even an embedded device can be always connected to a network. Further, improvements in the processing performance of embedded devices have been progressing. Therefore, it is realistic to implement an application based on a server client system on an embedded device. However, while conventionally, a GUI and a service logic operate in cooperation with each other via inter-process communications in the same node, it is necessary to change the cooperative operation into a one via inter-network communications according to the server client system, and the cooperative process becomes a bottleneck. Therefore, a certain measure, such a measure of reducing the number of times that network communications associated with the cooperative process are performed, is required.
In the following patent reference 1, a communication system in which, for each screen of a GUI displayed on a client terminal, a client terminal predicts a user's operation on the screen, and performs a cooperative process, which is required by the operation before the operation is actually performed, in advance, thereby preventing a communication process from being performed at the time when the operation occurs is disclosed. However, in this communication system, only immediately after displaying a screen of a GUI, a user's operation is predicted, and, when the screen does not make a transition according to a user's operation, no second prediction is not performed. Therefore, for an application which displays the same screen for a long time, the number of times that network communications associated with the cooperative process are performed cannot be sufficiently reduced.
Further, patent reference 2 discloses the following communication system. When a request for the performance of a certain process is issued by a client terminal, a server device predicts a process which may be requested along with the performance request, and performs a process corresponding to the actually issued performance request, and also performs a process which may be requested (referred to as a “predicted request” from here on) along with the performance request. After sending processing results corresponding to the actually issued performance request to the client terminal, the server device sends processing results corresponding to the predicted request back to the client terminal in turn.
Because the client terminal can use processing results corresponding to a predicted request sent thereto from the server device if the prediction by the server device has come true, the client terminal does not have to transmit a new performance request to the server device and can therefore reduce the bottleneck associated with the cooperative process. However, if the number of requests predicted from the actually issued performance request increases when the server device sends processing results corresponding to a predicted request to the client terminal, the communication processing load increases. Further, because the client terminal does not know what request the server device has predicted, before receiving processing results corresponding to a predicted request from the server device, the client terminal may issue the same request as the predicted request. When the client terminal issues the same request as a predicted request, the number of times that communications are performed cannot be reduced. Further, there occurs a necessity for the server device to perform the process corresponding to the same request a number of times.